#ifndef BINDSFML_HPP
#define BINDSFML_HPP

// std-Header
#include <string>

// SFML
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Network.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>

// Eigene Header
#include "Lua.hpp"

// SFML
#include "SFML/BindSystem.hpp"
#include "SFML/BindWindow.hpp"
#include "SFML/BindGraphics.hpp"
#include "SFML/BindNetwork.hpp"
#ifdef AUDIOPACKAGE
	#include "SFML/BindAudio.hpp"
#endif //AUDIOPACKAGE

using namespace luabind;

namespace bind
{
	namespace SFML
	{
		void Bind(lua_State* lua, const std::string& ns)
		{
			//globals(lua)[ns.c_str()] = newtable(lua);

			system::Bind(lua, ns);
			window::Bind(lua, ns);
			graphics::Bind(lua, ns);
			network::Bind(lua, ns);
#ifdef AUDIOPACKAGE
			audio::Bind(lua, ns);
#endif //AUDIOPACKAGE
		}
	}
}

#endif //BINDSFML_HPP